home *** CD-ROM | disk | FTP | other *** search
/ Apple II Magazines (DO) / Softdisk Magazette Volume 1, No. 11 (1982-07)(Softdisk)(Side B).zip / Softdisk Magazette Volume 1, No. 11 (1982-07)(Softdisk)(Side B).do / FINANCIAL.SERIES.bas < prev    next >
BASIC Source File  |  1996-12-24  |  25KB  |  340 lines

  1. 1  TEXT : HOME 
  2. 2  GOSUB 15000
  3. 5  GOSUB 11000
  4. 10  HOME : GOSUB 9900: HTAB 3: PRINT "LOAN AMORTIZATIONS - SCREEN DISPLAY": PRINT : GOSUB 9900: POKE 34,6
  5. 11  HOME : INPUT "ENTER INTEREST RATE.....%";I$: PRINT 
  6. 20  INPUT "ENTER TERM IN YEARS.....#";N:N = N *12: PRINT : INPUT "ENTER AMOUNT OF LOAN....$";A
  7. 27 MB = A
  8. 28 IR =  VAL(I$):IR = IR/1200
  9. 29 E = 1/((1 -(1/(1 +IR) ^N))/IR)
  10. 30  HOME : PRINT "AMOUNT OF LOAN....$";A:I =  VAL(I$): PRINT "INTEREST RATE.....%";I:N = N/12: PRINT "TERM IN YEARS.....#";N:N = N *12
  11. 31  PRINT "NO. BALANCE  PAYMENT  INTEREST INT PD": PRINT "--- -------- -------- -------- ------"
  12. 33  POKE 34,11
  13. 34  FOR J = 1 TO N
  14. 35 X = N -J
  15. 120 MP = E *A:MP =  INT(MP *100 +.5)/100
  16. 140 ZA = 1 -(1/((1 +IR) ^X))
  17. 150 ZB = 1 -(1/((1 +IR) ^N))
  18. 162 IT =  VAL(I$)/100
  19. 165 I = (IT/12) *MB:MB =  INT(MB *100 +.5)/100
  20. 166 I =  INT(I *100 +.5)/100
  21. 170 IA = IA +I:IA =  INT(IA *100 +.5)/100
  22. 200  REM   ON SCREEN PRINT PROGRAM
  23. 220  PRINT  TAB( 1)J; TAB( 5);MB; TAB( 14);MP; TAB( 23);I; TAB( 32);IA
  24. 222 MB = (ZA/ZB) *A
  25. 230 L = L +1: IF L = 12  THEN  GOTO 250
  26. 240  IF L <12 GOTO 290
  27. 250  PRINT "PRESS RETURN FOR MORE. ESC FOR MENU.  ";: GET V$:V =  ASC(V$): IF V = 27  THEN  TEXT : HOME : GOTO 11030
  28. 260 L = 0: HOME 
  29. 290  NEXT J
  30. 300  HOME : PRINT : PRINT : PRINT "ANOTHER RUN? (Y/N)  ": GET Q$: IF Q$ = "Y"  THEN  POKE 34,0: HOME :IA = 0: GOTO 10
  31. 310  IF Q$ = "N"  THEN  POKE 34,0: GOTO 11030
  32. 1000  HOME : GOSUB 9900: HTAB 11: PRINT "LOAN AMORTIZATIONS": PRINT : GOSUB 9900: POKE 34,6
  33. 1003  PRINT : PRINT : PRINT : PRINT "THIS PROGRAM WILL PRINT A LOAN"
  34. 1004  PRINT "AMORTIZATION TABLE FOR ANY AMOUNT "
  35. 1007  PRINT "FROM 1-100,000 DOLLARS. YOU NEED ONLY"
  36. 1010  PRINT "PROVIDE THE INFORMATION AS REQUESTED.": PRINT : PRINT 
  37. 1040  PRINT : PRINT : PRINT "HARD COPY OR PRINT TO SCREEN? (H/S) ";: GET B$: IF B$ = "H"  THEN  POKE 34,0: GOTO 2000
  38. 1042  IF B$ = "S"  THEN  POKE 34,0: GOTO 10
  39. 1045  IF B$ < >"Y"  OR B$ < >"N"  THEN  GOTO 1040
  40. 1050  IF B$ = "S" GOTO 10
  41. 2000  HOME : GOSUB 9900: HTAB 5: PRINT "LOAN AMORTIZATIONS - HARD COPY": PRINT : GOSUB 9900: POKE 34,6
  42. 2005  HOME : INPUT "ENTER INTEREST RATE..%";I$
  43. 2010  INPUT "ENTER TERM IN YEARS..#";N:N = N *12: INPUT "ENTER AMOUNT OF LOAN...$";A
  44. 2015 MB = A:IR =  VAL(I$):IR = IR/1200:E = 1/((1 -(1/(1 +IR) ^N))/IR)
  45. 2020 MP = E *A:MP =  INT(MP *100 +.5)/100
  46. 2025  PRINT "IS THE PAPER READY?": PRINT : PRINT "PRESS RETURN TO START PRINTING. ESC TO  RETURN TO MENU. ";: GET Z$:Z =  ASC(Z$): PRINT Z: IF Z = 27  THEN  TEXT : HOME : GOTO 11030
  47. 2026  PR# 1
  48. 2027 I =  VAL(I$):N = N/12
  49. 2028  PRINT "AMOUNT OF LOAN....$";A: PRINT "INTEREST RATE.....%";I: PRINT "TERM IN YEARS.....#";N:N = N *12
  50. 2037 Z = 1
  51. 2038  FOR Q = 1 TO N/12
  52. 2039  PRINT : PRINT "YEAR # ";Q: PRINT 
  53. 2040  PRINT "NO.  BALANCE    PAYMENT    INTEREST  TOT INT": PRINT "--   -------    -------    --------  -------"
  54. 2041  FOR J = Z TO N
  55. 2045 X = N -J:ZA = 1 -(1/((1 +IR) ^X)):ZB = 1 -(1/((1 +IR) ^N)):IT =  VAL(I$)/100:I = (IT/12) *MB:MB =  INT(MB *100 +.5)/100
  56. 2050 I =  INT(I *100 +.5)/100
  57. 2055 IA = IA +I:IA =  INT(IA *100 +.5)/100
  58. 2070  PRINT J; TAB( 6);MB; TAB( 17);MP; TAB( 28);I; TAB( 38);IA
  59. 2075 MB = (ZA/ZB) *A
  60. 2080 L = L +1: IF L = 12 GOTO 2086: NEXT L
  61. 2081  IF L <12 GOTO 2085
  62. 2085  NEXT J
  63. 2086 Z = J +1:L = 0
  64. 2090  NEXT Q
  65. 2095  PRINT :MT = A +IA: PRINT "MONEY SPENT TO PURCHASE PRODUCT IS $";MT: PR# 0
  66. 2100  PRINT : PRINT : PRINT "ANOTHER COPY? (Y/N)  ";: GET D$: IF D$ = "Y" GOTO 2025
  67. 2110  IF D$ = "N"  THEN  POKE 34,0: GOTO 11030
  68. 2120  PRINT "ANOTHER PROBLEM? (Y/N)  ": GET E$: IF E$ = "Y" GOTO 10
  69. 2130  IF E$ = "N" GOTO 11030
  70. 3000  HOME : GOSUB 9900: HTAB 16: PRINT "ANNUITIES": PRINT : GOSUB 9900: POKE 34,6
  71. 3005  HOME : PRINT "THIS PORTION OF THE PROGRAM WILL FIGURE": PRINT "THE PRESENT AND FUTURE VALUES OF AN": PRINT "ANNUITY. YOU NEED ONLY SUPPLY THE": PRINT "FIGURES REQUESTED. THIS PROGRAM DOES": PRINT "NOT PROVIDE A HARD COPY OPTION."
  72. 3010  PRINT "YOU MAY SELECT EITHER:": PRINT : PRINT "(1) PRESENT VALUE OF AN ANNUITY.": PRINT : PRINT "(2) FUTURE VALUE OF AN ANNUITY.": PRINT : PRINT "SELECT EITHER A (1) OR A (2). ";: GET F$: IF F$ = "1"  THEN  POKE 34,0: GOTO 3100
  73. 3020  IF F$ = "2"  THEN  POKE 34,0: GOTO 3500
  74. 3100  HOME : GOSUB 9900: HTAB 7: PRINT "PRESENT VALUE OF AN ANNUITY": PRINT : GOSUB 9900: POKE 34,6
  75. 3110  PRINT : PRINT : INPUT "ENTER INTEREST RATE...%";I:I = I/100: PRINT : INPUT "ENTER TERM IN YEARS...#";N: PRINT : INPUT "ENTER FUTURE VALUE....$";FV
  76. 3120 PVA = (1 -(1/((1 +I) ^N)))/I *FV:PVA =  INT(PVA *100 +.5)/100
  77. 3130  GOSUB 9950: PRINT : PRINT : SPEED= 100: PRINT "THE PRESENT VALUE OF $";FV;" IS $";PVA;".": SPEED= 255
  78. 3140  PRINT : PRINT : PRINT "ANOTHER PROBLEM? (Y/N)  ";: GET A$: IF A$ = "Y"  THEN  POKE 34,0: GOTO 3100
  79. 3150  IF A$ = "N"  THEN  PRINT : POKE 34,0: HOME : GOTO 11030
  80. 3200  REM  PRESENT VALUE OF AN ANNUITY FORMULA
  81. 3210  REM   PVA= (1-(1/((1+I)^N)))/           I)
  82. 3220  REM  FUTURE VALUE OF AN ANNUITY FORMULA
  83. 3230  REM  FVA=((((1+I)^N)-1)/1)*PVA
  84. 3500  HOME : GOSUB 9900: HTAB 8: PRINT "FUTURE VALUE OF AN ANNUITY": PRINT : GOSUB 9900: POKE 34,6
  85. 3510  PRINT : PRINT : INPUT "ENTER INTEREST RATE...%";I:I = I/1200: PRINT : INPUT "ENTER TERM IN YEARS...#";N:N = N *12: PRINT : INPUT "ENTER PRESENT VALUE...$";PV
  86. 3520 FVA = ((((1 +I) ^N) -1)/I) *PV: PRINT : PRINT :FVA =  INT(FVA *100 +.5)/100
  87. 3530  GOSUB 9950: PRINT : PRINT : SPEED= 100: PRINT "THE FUTURE VALUE OF $";PV;" IS $";FVA;".": SPEED= 255
  88. 3540  PRINT : PRINT : PRINT "ANOTHER PROBLEM? (Y/N)  ";: GET A$: IF A$ = "Y"  THEN  POKE 34,0: GOTO 3500
  89. 3550  IF A$ = "N"  THEN  PRINT : POKE 34,0: HOME : GOTO 11030
  90. 4000  HOME : GOSUB 9900: HTAB 14: PRINT "PRESENT VALUE": PRINT : GOSUB 9900: POKE 34,6: IF C$ = "Y" GOTO 4015
  91. 4010  PRINT : PRINT "THIS PORTION OF THE PROGRAM WILL FIGURE": PRINT "THE PRESENT VALUE OF ANY SUM OF MONEY.": PRINT "YOU NEED ONLY SUPPLY THE INFORMATION": PRINT "REQUESTED."
  92. 4015  PRINT : PRINT "MONTHLY OR YEARLY COMPOUNDING? (M/Y)  ";: GET Z$: IF Z$ = "Y"  THEN  PRINT : POKE 34,0: HOME : GOTO 4100
  93. 4016  IF Z$ = "M" GOTO 4020
  94. 4017  IF Z$ < >"M"  OR Z$ < >"Y"  THEN  GOTO 4015
  95. 4020  POKE 34,0: HOME : GOSUB 9900: HTAB 3: PRINT "PRESENT VALUE - MONTHLY COMPOUNDING": PRINT : GOSUB 9900: POKE 34,6
  96. 4025  PRINT : PRINT : INPUT "ENTER INTEREST RATE..........%";I:I = I/1200
  97. 4030  PRINT : INPUT "ENTER NUMBER OF YEARS........#";N$:N =  VAL(N$):N = N *12: GOTO 4050
  98. 4040  IF N$ = "M"  THEN  INPUT "OKAY, ENTER THE NUMBER OF MONTHS-  ";N:N = N *12
  99. 4050  PRINT : INPUT "ENTER FUTURE VALUE...........$";FV
  100. 4060 PV = (1/((1 +I) ^N)) *FV:PV =  INT(PV *100 +.5)/100
  101. 4070  GOSUB 9950: PRINT : PRINT : SPEED= 100: PRINT "THE PRESENT VALUE OF $";FV;" IS $";PV;".": SPEED= 255
  102. 4080  PRINT : PRINT "ANOTHER PROBLEM? (Y/N)  ";: GET C$: IF C$ = "Y"  THEN  PRINT : POKE 34,0: HOME : GOTO 4000
  103. 4090  POKE 34,0: GOTO 11030
  104. 4100  HOME : GOSUB 9900: HTAB 4: PRINT "PRESENT VALUE - YEARLY COMPOUNDING": PRINT : GOSUB 9900: POKE 34,6
  105. 4110  PRINT : INPUT "ENTER INTEREST RATE..........%";I:I = I/100
  106. 4120  PRINT : INPUT "ENTER THE NUMBER OF YEARS....#";N
  107. 4140  PRINT : INPUT "ENTER FUTURE VALUE...........$";FV
  108. 4150 PV = (1/((1 +I) ^N)) *FV:PV =  INT(PV *100 +.5)/100
  109. 4160  GOSUB 9950: SPEED= 100: PRINT : PRINT : PRINT "PRESENT VALUE OF $";FV;" IS $";PV;".": SPEED= 255
  110. 4170  PRINT : PRINT "ANOTHER PROBLEM? (Y/N)  ";: GET D$: IF D$ = "Y"  THEN  PRINT : POKE 34,0: HOME : GOTO 4000
  111. 4180  POKE 34,0: HOME : GOTO 11030
  112. 5000  HOME : GOSUB 9900: HTAB 13: PRINT "FUTURE VALUE": PRINT : GOSUB 9900: POKE 34,6
  113. 5010  PRINT : PRINT "THIS PORTION OF THE PROGRAM WILL FIGURE": PRINT "THE FUTURE VALUE OF ANY SUM OF MONEY.": PRINT "YOU NEED ONLY SUPPLY THE INFORMATION": PRINT "REQUESTED."
  114. 5020  PRINT : PRINT : INPUT "ENTER INTEREST RATE..........%";I:I = I/1200
  115. 5030  PRINT : INPUT "ENTER NUMBER OF YEARS........#";N$:N =  VAL(N$):N = N *12: GOTO 5050
  116. 5040  IF N$ = "M"  THEN  INPUT "OKAY, ENTER THE NUMBER OF MONTHS-  ";N:N = N *12
  117. 5050  PRINT : INPUT "ENTER PRESENT VALUE..........$";PV
  118. 5060 FV = ((1 +I) ^N) *PV:FV =  INT(FV *100 +.5)/100
  119. 5070  GOSUB 9950: PRINT : PRINT : SPEED= 100: PRINT : PRINT "THE FUTURE VALUE OF $";PV;" IS $";FV;".": SPEED= 255
  120. 5080  PRINT : PRINT "ANOTHER PROBLEM? (Y/N)  ";: GET E$: IF E$ = "Y"  THEN  PRINT : HOME : GOTO 5020
  121. 5090  POKE 34,0: HOME : GOTO 11030
  122. 6000  HOME : HTAB 6
  123. 6010  VTAB 13: PRINT "ENJOYED WORKING WITH YA!!!!!"
  124. 6020  END 
  125. 7000  POKE 34,0: HOME : GOSUB 9900: HTAB 14: PRINT "DEPRECIATION": PRINT : GOSUB 9900: POKE 34,6
  126. 7005  PRINT : PRINT : PRINT "THIS PORTION OF THE PROGRAM WILL ALLOW": PRINT "THE USER TO FIGURE DEPRECIATION AND ": PRINT "EITHER PRINT THE RESULTS TO THE SCREEN": PRINT "OR LET THE PRINTER PROVIDE A HARD COPY": PRINT "VERSION."
  127. 7010  PRINT "THERE ARE TWO HARD COPY OPTIONS. ONE": PRINT "OPTION REQUIRES A 132 COLUMN PRINTER": PRINT "AND THE OTHER ONLY AN 80 COLUMN PRINTER.";: PRINT "THE PROGRAM WILL PROVIDE A WARNING IF"
  128. 7015  PRINT "YOU CHOOSE THE 132 COLUMN PRINT OPTION.": PRINT "  THE OPTIONS ARE:": PRINT : HTAB 11: PRINT "1) PRINT TO SCREEN": PRINT : HTAB 11: PRINT "2) HARD COPY ": PRINT : PRINT "CHOOSE EITHER 1 OR 2...";
  129. 7016  GET Z$
  130. 7020  IF Z$ = "1"  THEN  GOTO 7500
  131. 7022  IF Z$ = "2"  THEN  POKE 34,0: HOME : GOTO 7030
  132. 7025  IF Z$ < >"1"  OR Z$ < >"2"  THEN  GOTO 7016
  133. 7030  POKE 34,0: HOME : GOSUB 9900: HTAB 8: PRINT "DEPRECIATION - HARD COPY": PRINT : GOSUB 9900: POKE 34,6
  134. 7035  PRINT : PRINT "THERE ARE TWO OPTIONS FOR THIS PORTION": PRINT "OF THE PROGRAM. YOU MAY PRINT EITHER OF": PRINT "THE FOLLOWING:": PRINT : PRINT "1) 132 COLUMN FOUR WAY DEPRECIATION"
  135. 7036  HTAB 4: PRINT "WHICH GIVES A COMPARISON OF THE FOUR"
  136. 7040  HTAB 4: PRINT "DIFFERENT TYPES OF DEPRECIATION OR,": PRINT "2) THE SINGLE METHOD, WHICH PRINTS ONLY": HTAB 4: PRINT "THE METHOD THAT YOU REQUEST.": PRINT : PRINT "WHICH WOULD YOU LIKE?  ";
  137. 7041  GET Z$
  138. 7042  IF Z$ = "1"  THEN  PRINT : PRINT : PRINT "A<CTRL-G>RE YO<CTRL-G>U SURE?<CTRL-G> (Y/N<CTRL-G>)  ";: GET X$: IF X$ = "Y"  THEN  GOTO 7050
  139. 7043  IF X$ = "N"  THEN  PRINT : PRINT "DO YOU WANT OPTION 2? (Y/N)  ";: GET Y$: IF Y$ = "Y"  THEN  GOTO 8000
  140. 7044  IF Y$ = "N"  THEN  TEXT : HOME : GOTO 11030
  141. 7045  IF Z$ = "2"  THEN  GOTO 8000
  142. 7046  IF Z$ < >"1"  OR Z$ < >"2" GOTO 7030
  143. 7050  HOME : PRINT  TAB( 10)"4-WAY DEPRECIATION": PRINT : FLASH : PRINT "MUST BE RUN ON A 132 COLUMN PRINTER": NORMAL 
  144. 7055  PRINT : INPUT "INITIAL ASSET VALUE.....$";AV: PRINT 
  145. 7056  INPUT "YEARS OF DEPRECIATION...#";YD: PRINT 
  146. 7057  INPUT "SALVAGE VALUE...........$";SV: PRINT 
  147. 7060  PRINT : PRINT "TURN ON THE PRINTER NOW!!!"
  148. 7070  PRINT "HIT RETURN TO PRINT. ESC FOR MENU.   ";: GET W$:W =  ASC(W$): IF W = 27  THEN  TEXT : HOME : GOTO 11030
  149. 7080  PR# 1
  150. 7092  PRINT  CHR$(15);
  151. 7094  PRINT : PRINT "INITIAL ASSET VALUE...$";AV
  152. 7096  PRINT "LIFE EXPECTANCY.......#";YD
  153. 7098  PRINT "STRAIGHT LINE SALVAGE VALUE...$";SV
  154. 7100  PRINT "    ## STRAIGHT LINE DEPRECIATION   ## SUM OF DIGITS DEPRECIATION   ## 150% DECLINING BALANCE DEPR  ## DOUBLE DECLINING BALANCE DEPR"
  155. 7110  PRINT "YEAR##------------------------------##------------------------------##------------------------------##------------------------------"
  156. 7115  PRINT "END ## RATE(%)    DEPR     REMAIN   ## RATE(%)    DEPR     REMAIN   ## RATE(%)    DEPR    REMAIN    ## RATE(%)    DEPR     REMAIN"
  157. 7120 SR = 100/YD:SA = (AV -SV)/YD:SB = AV:UB = AV:HB = AV:DB = AV:HR = 1.5 *SR:DR = 2 *SR:TT = 0: FOR I = 1 TO YD:TT = TT +I: NEXT I: FOR I = 1 TO YD:SB = SB -SA:UR = (YD +1 -I)/TT *100:UA = UR/100 *(AV -SV):UB = UB -UA
  158. 7121 HA = HR/100 *HB:HB = HB -HA:DA = DR/100 *DB:DB = DB -DA
  159. 7125 P = 10 ^D:SR =  INT(SR *100 +.5)/100:SA =  INT(SA *100 +.5)/100:SB =  INT(SB *100 +.5)/100:UR =  INT(UR *100 +.5)/100:UA =  INT(UA *100 +.5)/100:UB =  INT(UB *100 +.5)/100
  160. 7130 HR =  INT(HR *100 +.5)/100:HA =  INT(HA *100 +.5)/100:HB =  INT(HB *100 +.5)/100:DR =  INT(DR *100 +.5)/100:DA =  INT(DA *100 +.5)/100:DB =  INT(DB *100 +.5)/100
  161. 7135  PRINT  TAB( 2);I; TAB( 5);"()"; TAB( 8);SR; TAB( 18);SA; TAB( 28);SB; TAB( 37);"()"; TAB( 40);UR; TAB( 10);UA; TAB( 20);UB; TAB( 29);"()"; TAB( 32);HR; TAB( 42);HA; TAB( 11);HB; TAB( 21);"()"; TAB( 24);DR; TAB( 34);DA; SPC( 2);DB: NEXT 
  162. 7140  FOR I = 1 TO 5: PRINT "": NEXT I: PR# 0
  163. 7150  PRINT : PRINT "DO YOU WANT ANOTHER PRINTOUT? (Y/N)   ": GET Z$
  164. 7160  IF Z$ = "Y" GOTO 7055
  165. 7170  IF Z$ = "N"  THEN  TEXT : HOME : GOTO 11030
  166. 7180  IF Z$ < >"N"  OR Z$ < >"Y"  THEN  GOTO 7150
  167. 7500  POKE 34,0: HOME : GOSUB 9900: HTAB 5: PRINT "DEPRECIATION - SCREEN DISPLAY": PRINT : GOSUB 9900: POKE 34,6
  168. 7510  PRINT : PRINT "THERE ARE TWO OPTIONS FOR THIS PORTION": PRINT "OF THE PROGRAM. YOU MAY DISPLAY EITHER": PRINT "OF THE FOLLOWING:": PRINT : PRINT "1) FOUR WAY DEPRECIATION"
  169. 7520  HTAB 4: PRINT "WHICH GIVES A COMPARISON OF THE FOUR"
  170. 7530  HTAB 4: PRINT "DIFFERENT TYPES OF DEPRECIATION OR,": PRINT : PRINT "2) THE SINGLE METHOD, TO DISPLAY ONLY": HTAB 4: PRINT "THE METHOD THAT YOU REQUEST.": PRINT : PRINT "WHICH WOULD YOU LIKE?  ";
  171. 7540  GET Z$: IF Z$ = "1"  THEN  PRINT : GOTO 7570
  172. 7550  IF Z$ = "2"  THEN  GOTO 7800
  173. 7560  IF Z$ <"1"  OR Z$ >"2" GOTO 7530
  174. 7570  HOME : PRINT  TAB( 10)"4-WAY DEPRECIATION": PRINT 
  175. 7580  PRINT : INPUT "INITIAL ASSET VALUE.....$";AV: PRINT : INPUT "YEARS OF DEPRECIATION...#";YD: PRINT : INPUT "SALVAGE VALUE...........$";SV: PRINT : HOME 
  176. 7590  PRINT "INITIAL ASSET VALUE...$";AV: PRINT "LIFE EXPECTANCY.......#";YD: PRINT "STRAIGHT LINE SALVAGE VALUE...$";SV
  177. 7595  POKE 34,9
  178. 7600  PRINT "YR #ST LINE # SOYD   # 150%   #DBLE S/L"
  179. 7610  PRINT "-- -------- -------- -------- --------"
  180. 7615  POKE 34,11
  181. 7620 L = 0
  182. 7630 SR = 100/YD:SA = (AV -SV)/YD:SB = AV:UB = AV:HB = AV:DB = AV:HR = 1.5 *SR:DR = 2 *SR:TT = 0: FOR I = 1 TO YD:TT = TT +I: NEXT I: FOR I = 1 TO YD:SB = SB -SA:UR = (YD +1 -I)/TT *100:UA = UR/100 *(AV -SV):UB = UB -UA
  183. 7640 HA = HR/100 *HB:HB = HB -HA:DA = DR/100 *DB:DB = DB -DA
  184. 7650 P = 10 ^D:SR =  INT(SR *100 +.5)/100:SA =  INT(SA *100 +.5)/100:SB =  INT(SB *100 +.5)/100:UR =  INT(UR *100 +.5)/100:UA =  INT(UA *100 +.5)/100:UB =  INT(UB *100 +.5)/100
  185. 7660 HR =  INT(HR *100 +.5)/100:HA =  INT(HA *100 +.5)/100:HB =  INT(HB *100 +.5)/100:DR =  INT(DR *100 +.5)/100:DA =  INT(DA *100 +.5)/100:DB =  INT(DB *100 +.5)/100
  186. 7670  PRINT I; TAB( 4);SA; TAB( 13);UA; TAB( 22);HA; TAB( 31);DA
  187. 7675 L = L +1: IF L = 12  THEN  GOTO 7685
  188. 7680  IF L <12  THEN  GOTO 7686
  189. 7685  INPUT "PRESS RETURN TO CONTINUE.";V$:L = 0: HOME 
  190. 7686  NEXT I
  191. 7690  PRINT : PRINT "ANOTHER PRINTOUT? (Y/N)  ";: GET Z$
  192. 7700  IF Z$ = "Y" GOTO 7500
  193. 7710  IF Z$ = "N"  THEN  POKE 34,0: HOME : GOTO 11030
  194. 7720  IF Z$ < >"N"  OR Z$ < >"Y"  THEN  GOTO 7690
  195. 7800  POKE 34,0: HOME : GOSUB 9900: HTAB 6: PRINT "DEPRECIATION - SCREEN DISPLAY": PRINT : GOSUB 9900: POKE 34,6
  196. 7810  PRINT "THIS PORTION OF THE PROGRAM DISPLAYS": PRINT "A DEPRECIATION SCHEDULE FOR ONLY ONE": PRINT "METHOD AT A TIME.": PRINT 
  197. 7820  INPUT "DESCRIPTION OF ASSET.....";DE$: PRINT : INPUT "INITIAL ASSET VALUE.....$";AV: PRINT : INPUT "YEARS OF DEPRECIATION...#";LE: PRINT : INPUT "SALVAGE VALUE...........$";SV: PRINT 
  198. 7830  PRINT : PRINT : PRINT "WHICH DEPRECIATION METHOD? ": PRINT : PRINT "    1- STRAIGHT LINE": PRINT "    2- SUM OF YEARS DIGITS": PRINT "    3- 150% DECLINING BALANCE": PRINT "    4- DOUBLE DECLINING BALANCE": PRINT 
  199. 7840  PRINT "SELECT METHOD 1,2,3,4.": GET Q$:Q =  VAL(Q$): IF Q <1  OR Q >4  THEN  GOTO 7840
  200. 7841  IF Q >0  AND Q <5  THEN  PRINT : PRINT "Y<CTRL-G>OU HAVE<CTRL-G> SELECTE<CTRL-G>D METH<CTRL-G>OD #";Q;".": PRINT "<CTRL-I>IS T<CTRL-G>HIS COR<CTRL-G>RECT (<CTRL-G>Y/N)<CTRL-G> ": GET R$
  201. 7843  IF R$ = "Y"  THEN  PRINT : GOTO 7850
  202. 7845  IF R$ = "N"  THEN  GOTO 7830
  203. 7847  IF R$ < >"Y"  OR R$ < >"N"  THEN  GOTO 7841
  204. 7850  POKE 34,5
  205. 7855  HOME : GOSUB 7950:X =  LEN(M$):X = (40 -X)/2: POKE 36,X: INVERSE : PRINT  TAB( X +1);M$: NORMAL : POKE 36,0: PRINT "DESCRIPTION OF ASSET...";DE$: PRINT "ASSET VALUE............$";AV
  206. 7860  PRINT "SALVAGE VALUE..........$";SV: PRINT "LIFE EXPECTANCY........#";LE: POKE 34,12
  207. 7870  PRINT "YEAR"; TAB( 7);"RATE"; TAB( 14);"DEPRECIATION"; TAB( 30);"BALANCE": PRINT "----"; TAB( 7);"----"; TAB( 14);"------------"; TAB( 30);"-------"
  208. 7875 L = 0
  209. 7880 SR = 100/LE:SD = (AV -SV)/LE:SB = AV:YB = AV:DB = AV:PB = AV:PR = 1.5 *SR:DR = 2 *SR:TT = 0: FOR I = 1 TO LE:TT = TT +I: NEXT I: FOR I = 1 TO LE:SB = SB -SD:YR = (LE +1 -I)/TT *100
  210. 7890 YD = YR/100 *(AV -SV):YB = YB -YD:PD = PR/100 *PB:PB = PB -PD:DD = DR/100 *DB:DB = DB -DD:SD =  INT(SD *100 +.5)/100:SB =  INT(SB *100 +.5)/100:SR =  INT(SR *100 +.5)/100
  211. 7900 YR =  INT(YR *100 +.5)/100:YD =  INT(YD *100 +.5)/100:YB =  INT(YB *100 +.5)/100:DR =  INT(DR *100 +.5)/100:DB =  INT(DB *100 +.5)/100:DD =  INT(DD *100 +.5)/100
  212. 7910 PR =  INT(PR *100 +.5)/100:PB =  INT(PB *100 +.5)/100:PD =  INT(PD *100 +.5)/100
  213. 7912  IF Q = 1  THEN  GOSUB 7930
  214. 7914  IF Q = 2  THEN  GOSUB 7940
  215. 7916  IF Q = 3  THEN  GOSUB 7945
  216. 7918  IF Q = 4  THEN  GOSUB 7947
  217. 7920 L = L +1: IF L = 10  THEN  GOTO 7924
  218. 7922  IF L <10  THEN  GOTO 7925
  219. 7924  INPUT "PRESS RETURN TO CONTINUE. ";V$:L = 0: HOME 
  220. 7925  NEXT I
  221. 7926  PRINT : PRINT : PRINT "ANOTHER PROBLEM? (Y/N) ";: GET A$: IF A$ = "Y" GOTO 7800
  222. 7928  IF A$ = "N"  THEN  PRINT : POKE 34,0: GOTO 11030
  223. 7929  IF A$ < >"N"  OR A$ < >"Y"  THEN  GOTO 7926
  224. 7930  REM      STRAIGHT LINE PRINTING
  225. 7935  PRINT  TAB( 2);I; TAB( 7);SR;"%"; TAB( 15);SD; TAB( 30);SB: RETURN 
  226. 7940  REM      SUM OF YEARS DIGITS PRINTING
  227. 7942  PRINT  TAB( 2);I; TAB( 7);YR;"%"; TAB( 15);YD; TAB( 30);YB: RETURN 
  228. 7945  REM      150% DECLINING BALANCE PRINTING
  229. 7946  PRINT  TAB( 2);I; TAB( 7);PR;"%"; TAB( 15);PD; TAB( 30);PB: RETURN 
  230. 7947  REM      DOUBLE DECLINING BALANCE PRINTING 
  231. 7948  PRINT  TAB( 2);I; TAB( 7);DR;"%"; TAB( 15);DD; TAB( 30);DB: RETURN 
  232. 7950  IF Q = 1  THEN M$ = "STRAIGHT LINE": RETURN 
  233. 7960  IF Q = 2  THEN M$ = "SUM OF THE YEARS DIGITS": RETURN 
  234. 7970  IF Q = 3  THEN M$ = "150% DECLINING BALANCE": RETURN 
  235. 7980  IF Q = 4  THEN M$ = "DOUBLE DECLINING BALANCE": RETURN 
  236. 8000  POKE 34,0: HOME : GOSUB 9900: HTAB 8: PRINT "DEPRECIATION - HARD COPY": PRINT : GOSUB 9900: POKE 34,6
  237. 8005  PRINT "THIS PORTION OF THE PROGRAM WILL PRINT": PRINT "A DEPRECIATION SCHEDULE FOR ONLY ONE": PRINT "METHOD AT A TIME.AN EIGHTY COLUMN": PRINT "PRINTER IS REQUIRED.": PRINT 
  238. 8030  INPUT "DESCRIPTION OF ASSET.....";DE$: PRINT 
  239. 8040  INPUT "INITIAL ASSET VALUE.....$";AV: PRINT 
  240. 8050  INPUT "YEARS OF DEPRECIATION...#";LE: PRINT 
  241. 8060  INPUT "SALVAGE VALUE...........$";SV: PRINT 
  242. 8070  PRINT : PRINT : PRINT "WHICH DEPRECIATION METHOD? "
  243. 8080  PRINT : PRINT "    1- STRAIGHT LINE": PRINT "    2- SUM OF YEARS DIGITS": PRINT "    3- 150% DECLINING BALANCE": PRINT "    4- DOUBLE DECLINING BALANCE": PRINT 
  244. 8090  PRINT "SELECT METHOD 1,2,3,4.": GET Q$:Q =  VAL(Q$): IF Q <1  OR Q >4  THEN  GOTO 8090
  245. 8091  IF Q >0  AND Q <5  THEN  PRINT : PRINT "Y<CTRL-G>OU HAVE<CTRL-G> SELECTED<CTRL-G> METH<CTRL-G>OD #";Q;".": PRINT "IS IS T<CTRL-G>HIS C<CTRL-G>ORRECT<CTRL-G> (Y/N<CTRL-G>) ": GET R$
  246. 8092  IF R$ = "Y"  THEN  PRINT : GOTO 8095
  247. 8093  IF R$ = "N"  THEN  GOSUB 8070
  248. 8094  IF R$ < >"Y"  OR R$ < >"N"  THEN  GOTO 8091
  249. 8095  REM 
  250. 8096  PRINT "HIT RETURN TO PRINT.ESC FOR MENU.  ";: GET Z$:Z =  ASC(Z$): IF Z = 27  THEN  TEXT : HOME : GOTO 11030
  251. 8097  PR# 1: PRINT  CHR$(18);: PRINT : PRINT : PRINT  TAB( 30)"DEPRECIATION SCHEDULE": PRINT : PRINT : PRINT "DESCRIPTION OF ASSET...";DE$: PRINT "ASSET VALUE..$";AV
  252. 8098  PRINT "SALVAGE VALUE..$";SV: PRINT "LIFE EXPECTANCY..#";LE: GOSUB 8700: PRINT "METHOD...";M$: PRINT : PRINT 
  253. 8099  PRINT "YEAR"; TAB( 10);"RATE"; TAB( 20);"DEPRECIATION"; TAB( 35);"BALANCE": PRINT "----"; TAB( 10);"----"; TAB( 20);"------------"; TAB( 35);"-------"
  254. 8100 SR = 100/LE:SD = (AV -SV)/LE:SB = AV:YB = AV:DB = AV:PB = AV:PR = 1.5 *SR:DR = 2 *SR:TT = 0: FOR I = 1 TO LE:TT = TT +I: NEXT I: FOR I = 1 TO LE:SB = SB -SD:YR = (LE +1 -I)/TT *100
  255. 8110 YD = YR/100 *(AV -SV):YB = YB -YD:PD = PR/100 *PB:PB = PB -PD:DD = DR/100 *DB:DB = DB -DD
  256. 8120 SD =  INT(SD *100 +.5)/100:SB =  INT(SB *100 +.5)/100:SR =  INT(SR *100 +.5)/100
  257. 8130 YR =  INT(YR *100 +.5)/100:YD =  INT(YD *100 +.5)/100:YB =  INT(YB *100 +.5)/100
  258. 8140 DR =  INT(DR *100 +.5)/100:DB =  INT(DB *100 +.5)/100:DD =  INT(DD *100 +.5)/100
  259. 8150 PR =  INT(PR *100 +.5)/100:PB =  INT(PB *100 +.5)/100:PD =  INT(PD *100 +.5)/100
  260. 8152  IF Q = 1 GOTO 8300
  261. 8154  IF Q = 2 GOTO 8400
  262. 8156  IF Q = 3 GOTO 8500
  263. 8158  IF Q = 4 GOTO 8600
  264. 8160  PR# 0: HOME 
  265. 8170  PRINT "WOULD YOU LIKE ANOTHER PRINTOUT? (Y/N)  ": GET A$
  266. 8180  IF A$ = "Y" GOTO 8000
  267. 8190  IF A$ = "N"  THEN  TEXT : HOME : GOTO 11030
  268. 8195  IF A$ < >"Y"  OR A$ < >"N"  THEN  GOTO 8170
  269. 8300  REM    STRAIGHT LINE PRINTING 
  270. 8310  PRINT  TAB( 2);I; TAB( 11);SR; TAB( 23);SD; TAB( 35);SB: NEXT I
  271. 8320  GOTO 8160
  272. 8400  REM    SUM OF YEARS DIGITS PRINTING  
  273. 8410  PRINT  TAB( 2);I; TAB( 11);YR; TAB( 23);YD; TAB( 35);YB: NEXT I
  274. 8420  GOTO 8160
  275. 8500  REM    150% DECLINING BALANCE PRINTING
  276. 8510  PRINT  TAB( 2);I; TAB( 11);PR; TAB( 23);PD; TAB( 35);PB: NEXT I
  277. 8520  GOTO 8160
  278. 8600  REM    DOUBLE DECLINING BALANCE PRINTING 
  279. 8610  PRINT  TAB( 2);I; TAB( 11);DR; TAB( 23);DD; TAB( 35);DB: NEXT I
  280. 8620  GOTO 8160
  281. 8700  IF Q = 1  THEN M$ = "STRAIGHT LINE": RETURN 
  282. 8710  IF Q = 2  THEN M$ = "SUM OF THE YEARS DIGITS": RETURN 
  283. 8720  IF Q = 3  THEN M$ = "150% DECLINING BALANCE": RETURN 
  284. 8730  IF Q = 4  THEN M$ = "DOUBLE DECLINING BALANCE": RETURN 
  285. 9000  POKE 34,0: HOME : GOSUB 9900: HTAB 8: PRINT "DEPRECIATION - HARD COPY": PRINT : GOSUB 9900: POKE 34,6
  286. 9900  FOR I = 1 TO 39: PRINT "*";: NEXT I: PRINT "*": RETURN 
  287. 9950  PRINT : PRINT : FOR I = 1 TO 39: PRINT "=";: NEXT I: RETURN 
  288. 10000  HOME : HTAB 5: VTAB 9:U =  -16336
  289. 10010 X$ = "********************": HTAB 11: GOSUB 10500
  290. 10020 X$ = "*                  *": HTAB 11: GOSUB 10500
  291. 10030 X$ = "* BUSINESS/FINANCE *": HTAB 11: GOSUB 10500
  292. 10035 X$ = "*      SERIES      *": HTAB 11: GOSUB 10500
  293. 10040 X$ = "*        BY        *": HTAB 11: GOSUB 10500
  294. 10050 X$ = "* ROBERT W. RABOLD *": HTAB 11: GOSUB 10500
  295. 10060 X$ = "*                  *": HTAB 11: GOSUB 10500
  296. 10070 X$ = "********************": HTAB 11: GOSUB 10500
  297. 10080  FOR J = 1 TO 1000: NEXT J
  298. 10090  RETURN 
  299. 10500  REM 
  300. 10510  FOR I = 1 TO  LEN(X$): PRINT  MID$ (X$,I,1);
  301. 10520  IF  LEFT$(X$,1) = "*"  AND  MID$ (X$,I,1) = " "  THEN  NEXT I
  302. 10530  IF  MID$ (X$,I,1) = " "  THEN 10540
  303. 10535  FOR J = 1 TO 2:S =  PEEK(U) + PEEK(U): NEXT J
  304. 10540  FOR J = 1 TO 20: NEXT J,I
  305. 10550  PRINT : RETURN 
  306. 10560  FOR J = 1 TO 2:S =  PEEK(U) + PEEK(U): NEXT J
  307. 10570  FOR J = 1 TO 9: NEXT J: RETURN 
  308. 10580  FOR J = 1 TO 3:S =  PEEK(U) - PEEK(U) - PEEK(U) + PEEK(U) + PEEK(U) + PEEK(U): NEXT I: RETURN 
  309. 11000  POKE 34,0: HOME : INVERSE : GOSUB 9900: HTAB 8: PRINT "BUSINESS/FINANCIAL SERIES": PRINT : GOSUB 9900: NORMAL 
  310. 11005  PRINT : PRINT : PRINT "THIS PROGRAM ALLOWS AN APPLE COMPUTER TOACT AS AN ASSISTANT IN THE SOLUTION OF  SEVERAL TYPES OF FINANCIAL PROBLEMS."
  311. 11010  PRINT "THERE ARE SEVERAL OPTIONS AVAILABLE.    SOME OPTIONS CAN BE PRINTED ON THE      SCREEN OR A HARD COPY CAN BE REQUESTED."
  312. 11020  PRINT : FLASH : INPUT "PRESS RETURN FOR MENU.  ";Z$: NORMAL : GOTO 11030
  313. 11030  HOME : GOSUB 9900: HTAB 18: PRINT "MENU": PRINT : GOSUB 9900
  314. 11040  PRINT : PRINT : HTAB 11: PRINT "1) LOAN AMORTIZATIONS": PRINT : HTAB 11: PRINT "2) ANNUITIES": PRINT : HTAB 11: PRINT "3) PRESENT VALUE": PRINT : HTAB 11: PRINT "4) FUTURE VALUE"
  315. 11045  PRINT : HTAB 11: PRINT "5) DEPRECIATION": PRINT : HTAB 11: PRINT "6) QUIT"
  316. 11050  PRINT : PRINT "CHOOSE EITHER 1,2,3,4,5 OR 6  ";: GET Z$:Z =  VAL(Z$): IF Z >6  OR Z <1  THEN 11050
  317. 11055  ON Z GOTO 12001,12002,12003,12004,12005,12006
  318. 12000  REM  FLASH SELECTION
  319. 12001  HTAB 11: VTAB 9: FLASH : PRINT "1) LOAN AMORTIZATIONS": FOR I = 1 TO 2000: NEXT I: NORMAL : POKE 34,0: HOME : GOTO 1000
  320. 12002  HTAB 11: VTAB 11: FLASH : PRINT "2) ANNUITIES": FOR I = 1 TO 2000: NEXT I: NORMAL : POKE 34,0: HOME : GOTO 3000
  321. 12003  HTAB 11: VTAB 13: FLASH : PRINT "3) PRESENT VALUE": FOR I = 1 TO 2000: NEXT I: NORMAL : POKE 34,0: HOME : GOTO 4000
  322. 12004  HTAB 11: VTAB 15: FLASH : PRINT "4) FUTURE VALUE": FOR I = 1 TO 2000: NEXT I: NORMAL : POKE 34,0: HOME : GOTO 5000
  323. 12005  HTAB 11: VTAB 17: FLASH : PRINT "5) DEPRECIATION": FOR I = 1 TO 2000: NEXT I: NORMAL : POKE 34,0: HOME : GOTO 7000
  324. 12006  HTAB 11: VTAB 19: FLASH : PRINT "6) QUIT": FOR I = 1 TO 2000: NEXT I: NORMAL : POKE 34,0: HOME : GOTO 6000
  325. 15000  TEXT : HOME : VTAB 5: HTAB 7: PRINT "BUSINESS/FINANCIAL SERIES": PRINT 
  326. 15005  VTAB 7: HTAB 19: PRINT "BY": PRINT 
  327. 15010  VTAB 9: HTAB 9: PRINT "ROBERT W. RABOLD, JR.": PRINT 
  328. 15015  VTAB 11: HTAB 18: PRINT "1981": PRINT 
  329. 15020  VTAB 13: HTAB 10: PRINT "ALL RIGHTS RESERVED": FOR I = 1 TO 4000: NEXT : RETURN 
  330. 50001  REM  ********************
  331. 50002  REM  *                  *
  332. 50003  REM  *                  *
  333. 50004  REM  * BUSINESS/FINANCE *
  334. 50005  REM  *      SERIES      *
  335. 50006  REM  *        BY        *
  336. 50007  REM  * ROBERT W. RABOLD *
  337. 50008  REM  *       1981       *
  338. 50009  REM  *                  *
  339. 50010  REM  *                  *
  340. 50011  REM  ********************